// parta.c --- various storage classes
// compile with partb.c
// Its main goal is to use five storage types
// not to offer a design model
#include <stdio.h>
void report_count();
void accumulate(int k);
int count = 0;  // file scope, external linakge

int main(void) {
  int value;       // automatic variable
  register int i;  // register variable

  printf("Enter a positive integer (0 to quit): ");
  while (scanf("%d", &value) == 1 && value > 0) {
    ++count;  // use file scope variable
    for (i = value; i >= 0; i--) accumulate(i);
    printf("Enter a positive integer (0 to quit): ");
  }
  report_count();

  return 0;
}

void report_count() { printf("Loop executed %d times\n", count); }
